#define _GNU_SOURCE // 定义GNU扩展
#include <stdio.h>
#include "unistd.h"
#include "pthread.h"

/**
 * 线程一的函数:指明线程要干的事
 */
static void *thread_func1(void *arg)
{
    // 线程函数
    int i = 0;
    while (1)
    {
        sleep(1);
        printf("thread_func1,i:%d\n", i++);
    }
    return NULL;
}

/**
 * 线程二的函数:指明线程要干的事
 */
static void *thread_func2(void *arg)
{
    // 线程函数
    int i = 0;
    while (1)
    {
        sleep(1);
        printf("thread_func2,i:%d\n", i++);
    }
    return NULL;
}

// 主函数本身也会开辟一个线程
int main(int argc, char const *argv[])
{
    // 声明两个线程的标识符
    pthread_t tid1, tid2;
    // 开辟两个线程
    pthread_create(&tid1, NULL, (void *)thread_func1, NULL); // 第二个参数是线程函数的参数(优先级之类的),第4个参数是线程函数的传入的参数
    pthread_create(&tid2, NULL, (void *)thread_func2, NULL);
    sleep(100);
    return 0;
}
